| Miles Sound System SDK 7.2a |
The Digital Audio Services are used to play both 2D (non-spatialized) and 3D (attenuated by position and/or directionality) digital audio samples from memory-resident buffers, low-level streaming ("double-buffered") buffers, or high-level streams.
These functions can directly play PCM, IMA ADPCM, or ASI-compressed data such as Ogg Vorbis and MPEG Layer 3 files. On the original Xbox, you can also play Xbox ADPCM data.
See the Digital Audio Streaming Services section for details on streaming an audio sample from a disk file.
| Digital Audio Services | |
|---|---|
| AIL_open_digital_driver | opens a digital driver to play 2D digital audio. |
| MSS_SPEAKER | may be used to specify either a source (HSAMPLE/HSTREAM) channel or an HDIGDRIVER's destination speaker output channel. |
| MSS_MC_SPEC | specifies an output channel-configuration option for use with AIL_open_digital_driver or AIL_quick_startup. |
| MILES_OPEN_DIGITAL_FLAGS | specifies open flags for the AIL_open_digital_driver function. |
| AIL_close_digital_driver | shuts down and closes an audio driver which was opened by a previous call to AIL_open_digital_driver. |
| AIL_digital_handle_release | temporarily releases the hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) back to the system. |
| AIL_digital_handle_reacquire | attempts to reacquire hardware digital handle (either the HWAVEOUT handle, the DirectSound object, or the Sound Manager buffer) from the system. |
| AIL_set_DirectSound_HWND | assigns the HWND to use for DirectSound's focus control. |
| AIL_HWND | returns the HWND that MSS has detected as your primary HWND. |
| AIL_set_digital_master_volume_level | establishes an overall `master volume` value which is used to scale the volumes of all subsequent digital audio samples. |
| AIL_digital_master_volume_level | returns the current digital master volume setting in use. |
| AIL_set_digital_master_reverb | sets the global reverb settings to use. |
| MILES_ROOM_TYPE | specifies a room type to use for the environmental reverb. |
| AIL_digital_master_reverb | retrieves the global reverb settings to use. |
| AIL_set_digital_master_reverb_levels | establishes the overall `master reverb` levels which are used to scale the levels of the reverb of all subsequent digital audio samples. |
| AIL_digital_master_reverb_levels | retrieves the overall `master reverb` levels. |
| AIL_set_speaker_reverb_levels | sets the global wet and dry reverb-response scalars at one or more speakers. |
| AIL_speaker_reverb_levels | returns three arrays describing the wet and dry reverb-response scalars at all speakers, plus the speaker channel identifiers themselves. |
| AIL_calculate_3D_channel_levels | gives your application direct access to the Miles 3D sound-positioner function. |
| MSSVECTOR3D | |
| AIL_allocate_sample_handle | searches for a free sample handle and returns it to the application for use in the playback of digital audio data. |
| AIL_release_sample_handle | releases a sample handle previously allocated with AIL_allocate_sample_handle. |
| AIL_init_sample | prepares a sample handle for playback of audio data. |
| AIL_set_sample_address | specifies the starting address and length for a raw data sample. |
| AIL_set_sample_file | initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data. |
| AIL_set_named_sample_file | initializes a sample's address, length, type, and flags to prepare for playback of a memory-resident sound data. |
| AIL_set_sample_info | initializes a sample's address, length, type, and flags to prepare for playback of memory-resident sound data. |
| MILES_DIGITAL_FORMAT | describes the type of digital audio. |
| MILES_DIGITAL_FLAGS | describes the layout of digital audio. |
| AIL_start_sample | starts playback of a sample from its beginning. |
| AIL_stop_sample | stops playback of a sample. |
| AIL_resume_sample | resumes playback of a sample which was previously stopped. |
| AIL_end_sample | terminates playback of a sample, setting its status to SMP_DONE. |
| AIL_set_sample_playback_rate | sets a sample's playback rate in hertz. |
| AIL_sample_playback_rate | returns the current sample playback rate. |
| AIL_set_sample_volume_pan | controls a sample's playback volume level and pan. |
| AIL_sample_volume_pan | returns the current sample volume and pan, from 0 to 1.0. |
| AIL_set_sample_reverb_levels | changes the reverb levels of a digital audio sample. |
| AIL_sample_reverb_levels | retrieves the reverb levels of a digital audio sample. |
| AIL_set_sample_low_pass_cut_off | applies a low-pass filter to the digital audio sample. |
| AIL_sample_low_pass_cut_off | retrieves the current low-pass cutoff setting. |
| AIL_set_sample_51_volume_pan | controls a sample's playback volume and pan values when using multichannel discrete output modes. |
| AIL_sample_51_volume_pan | returns the current sample 5.1 volumes and pan, from 0 to 1.0, resulting from a prior call to AIL_set_sample_51_volume_pan or AIL_set_sample_51_volume_levels. |
| AIL_set_sample_volume_levels | controls a sample's playback volume levels. |
| AIL_sample_volume_levels | returns the current sample volumes, from 0 to 1.0. |
| AIL_set_sample_channel_levels | scales the output contribution from each source channel in the specified HSAMPLE to each speaker. |
| AIL_sample_channel_levels | returns an array of level-scaling factors for one or more combinations of source channels and destination speakers. |
| AIL_sample_output_levels | returns the final mixer level-scaling factors for one or more combinations of source channels and destination speakers. |
| AIL_set_sample_51_volume_levels | controls a sample's playback volume levels when using multichannel discrete output modes. |
| AIL_sample_51_volume_levels | returns the current sample 5.1 volumes, from 0 to 1.0, on discrete multichannel platforms. |
| AIL_set_sample_3D_distances | sets the minimum and maximum distances for a given sample handle. |
| AIL_sample_3D_distances | returns the current minimum and maximum distances for the specified sample handle. |
| AIL_set_sample_3D_cone | sets the sound emission cone on a sample. |
| AIL_sample_3D_cone | retrieves the current sound emission cone of a sample. |
| AIL_set_sample_occlusion | sets the occlusion for the specified 3D sample. |
| AIL_sample_occlusion | retrieves the current occlusion level of the given sample. |
| AIL_set_sample_obstruction | sets the obstruction for the specified 3D sample. |
| AIL_sample_obstruction | retrieves the current obstruction level of the given sample. |
| AIL_set_sample_exclusion | sets the exclusion for the specified 3D sample. |
| AIL_sample_exclusion | retrieves the current exclusion level of the given sample. |
| AIL_set_listener_3D_position | sets the three-dimensional position of the 3D listener. |
| AIL_listener_3D_position | retrieves the current 3D position of the 3D listener. |
| AIL_set_listener_3D_velocity | sets the current velocity of the 3D listener. |
| AIL_listener_3D_velocity | retrieves the current velocity of the 3D listener. |
| AIL_set_listener_3D_velocity_vector | sets the current velocity of the 3D listener. |
| AIL_update_listener_3D_position | updates the 3D listener's position based on its previously set velocity and the specified delta time in milliseconds. |
| AIL_set_listener_3D_orientation | specifies the orientation of the 3D listener. |
| AIL_listener_3D_orientation | retrieves the orientation of the 3D listener. |
| AIL_set_sample_3D_position | sets a sample's current position in 3D space. |
| AIL_sample_3D_position | retrieves the current 3D position of a 3D sample. |
| AIL_set_sample_3D_velocity | sets the current velocity of a 3D sample. |
| AIL_sample_3D_velocity | retrieves the current velocity of a 3D sample. |
| AIL_set_sample_3D_velocity_vector | sets the current velocity of a 3D sample. |
| AIL_update_sample_3D_position | updates a 3D sample's position based on its previously-set velocity and the specified delta time in milliseconds. |
| AIL_set_sample_3D_orientation | specifies the orientation of a 3D sample. |
| AIL_sample_3D_orientation | retrieves the orientation of a 3D sample. |
| AIL_set_room_type | sets the room type that the listener is currently in. |
| AIL_room_type | returns the current room type. |
| AIL_set_3D_rolloff_factor | sets the driver's global 3D rolloff factor. |
| AIL_3D_rolloff_factor | returns the driver's current 3D rolloff factor. |
| AIL_set_3D_doppler_factor | sets the driver's global 3D Doppler factor. |
| AIL_3D_doppler_factor | returns the driver's current 3D Doppler factor. |
| AIL_set_3D_distance_factor | sets the driver's global 3D distance factor. |
| AIL_3D_distance_factor | returns the driver's current 3D distance factor. |
| AIL_set_sample_loop_count | arranges for a sample to be restarted immediately upon completion, for a total of two or more iterations. |
| AIL_sample_loop_count | returns the number of loop iterations remaining for the given sample. |
| AIL_set_sample_loop_block | arranges for a sub-block of a sample to be looped. |
| AIL_sample_loop_block | returns the beginning and ending loop offsets previously passed to AIL_set_sample_loop_block. |
| AIL_set_sample_position | adjusts the playback position of a sample. |
| AIL_sample_position | reports the current playback position of a sample. |
| AIL_set_sample_ms_position | adjusts the playback position of a sample. |
| AIL_sample_ms_position | reports the current playback position and length of a sample in milliseconds. |
| AIL_sample_status | returns the status of a given sample handle. |
| MILES_DIGITAL_STATUS | describes the current state of the digital audio. |
| AIL_set_sample_user_data | sets a value for one of eight user data entries associated with each sample handle. |
| AIL_sample_user_data | retrieves a value for one of eight user data entries associated with each sample handle. |
| AIL_minimum_sample_buffer_size | returns the minimum usable buffer size for use with the low-level streaming function AIL_load_sample_buffer. |
| AIL_sample_buffer_available | checks to see if any of the buffers associated with a sample handle are ready to be filled with new audio data by the AIL_load_sample_buffer function. |
| AIL_load_sample_buffer | sets the address and length for one of the low-level streaming buffers associated with a sample handle, enabling low-level streaming mode for that sample handle. |
| AIL_sample_buffer_info | returns detailed information about the status of the low-level streaming buffers for the specified sound handle. |
| AIL_sample_buffer_count | returns the number of low-level streaming buffers associated with a sample. |
| AIL_set_sample_buffer_count | sets the number of low-level streaming buffers available for use with a given sample handle. |
| AIL_sample_channel_count | returns information about the source channels associated with a sample. |
| AIL_sample_granularity | returns the granularity of a sample in bytes. |
| AIL_set_sample_adpcm_block_size | sets the block size for the IMA ADPCM data. |
| AIL_digital_CPU_percent | returns the percentage of total CPU being spent in the Miles digital processing loop. |
| AIL_digital_latency | returns the approximate latency of a sound if it were started immediately. |
| AIL_set_speaker_configuration | establishes the listener-relative location of the speaker array, and the falloff power factor used for sample spatialization. |
| AIL_speaker_configuration | returns an array of 3D vectors describing the listener-relative locations of the array of speakers associated with the current output format, plus some additional information about the format. |
| AIL_enumerate_output_filter_driver_properties | enumerates the possible driver-level properties of an output filter. |
| AIL_enumerate_output_filter_sample_properties | enumerates the possible sample-level properties of an output filter. |
| AIL_output_filter_driver_property | retrieves and/or sets driver-level properties for an output filter. |
| AIL_register_SOB_callback | arranges for callback service to be provided to an application's function just before a block of sample data is merged into the hardware buffer. |
| AILSAMPLECB | specifies a user-defined digital audio callback. |
| AIL_register_EOB_callback | arranges for callback service to be provided to an application function immediately upon reaching the end of a sample buffer. |
| AIL_register_EOS_callback | arranges for callback service to be provided to an application function immediately upon reaching the end of a sample. |
| AILFALLOFFCB | specifies a user-defined 3D distance-based falloff function callback. |
| AIL_register_falloff_function_callback | allows an application to override the system's default distance-based attenuation calculations for 3D-enabled samples. |
| AIL_active_sample_count | returns the number of currently-playing samples. |
| AIL_digital_configuration | returns information about the specified digital driver. |
| AIL_get_DirectSound_info | returns the pointers to the DirectSound object currently being used by MSS. |
| AIL_install_DIG_INI | installs and initializes the currently selected MSS .DIG driver file under DOS. |
| MILES_INSTALL_STATUS | specifies possible results from loading a DOS driver. |
| AIL_install_DIG_driver_file | installs and initializes an MSS-compatible .DIG driver file under DOS. |
| IO_PARMS | indicates specific hardware settings to use when installing a digital driver |
For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.